#ifndef MEGASPRITE_H
#define MEGASPRITE_H

#include "String.h"
#include "RGBAColor.h"
#include "OpenGLRenderer.h"
#include "Maths.h"

#include <vector>

class CMegaSprite
{
    
public:
    
    CMegaSprite() : m_rgbaColor(RGBAColor(1, 1, 1, 1))      {}
    
    bool load(String sTextureName, int iTileWidth=64, int iTileHeight=64);
    
    void setColor(RGBAColor rgbaColor)      { m_rgbaColor = rgbaColor; }
    
    void render();
    
    long getWidth()             { return m_iWidth; }
    long getHeight()            { return m_iHeight; }
    
private:
    
    int m_iWidth;
    int m_iHeight;
    int m_iTileWidth;
    int m_iTileHeight;
    
    Vector m_vCenter;
    
    RGBAColor m_rgbaColor;
    
    std::vector<GLuint> m_iTileTextures;
    
};

#endif //MEGASPRITE_H
